home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / MacApp Documentation / MacApp AppleLink Messages / MacApp.Tech$ 4⁄6⁄90 / 1027-Re Success() and…-Apr90 < prev    next >
Encoding:
Text File  |  1990-04-06  |  1.6 KB  |  43 lines  |  [TEXT/GEOL]

  1. Item forwarded  by  A33          to A34
  2.  
  3. Item    4670984                         2-April-90        09:33PDT
  4.  
  5. From:   ALGER                           Alger, Jeff,VCA
  6.  
  7. To:     DAWSON.M                        Dawson, Mark
  8.  
  9. cc:     MACAPP.TECH$                    MacApp Technical
  10.  
  11. Sub:    Re: Success() and…
  12.  
  13. Mark,
  14.  
  15. Look in the current issue of Frameworks for a series of links on the subject.
  16. (This issue is in the mail to most MADA members now.)  However, I will replay
  17. the essence of the idea.  Suppose you have a block of code which may err in
  18. some relatively unpredictable way.  Call this code CodeBlock.  Then, in
  19. pseudocode, the idea of a failure handler to implement the following strategy:
  20.  
  21. IF CodeBlock will not fail THEN
  22.     CodeBlock
  23. ELSE
  24.     DoSomethingElse
  25.  
  26. Of course, it is not possible to test in advance whether CodeBlock will succeed
  27. or fail.  Instead, the failure handler implements the strategy by saving the
  28. state of the registers at the time you call CatchFailures, then branching to
  29. your error handler when an error occurs.  You are responsible for saving the
  30. state of the program (other than registers) prior to calling CatchFailures and
  31. restoring it, then calling DoSomethingElse when (if) your handler is called due
  32. to a failure.  In other words, you should be prepared to restore things when
  33. your failure handler is called as if the CodeBlock had never been started.
  34.  
  35. On the specific question of the "fi" argument: this is used by the MacApp
  36. mechanisms to store register values and the address of your handler.
  37.  
  38. Regards,
  39. Jeff Alger
  40. Exis
  41. A Technology Firm of KPMG Peat Marwick
  42.  
  43.